import { BaseURL } from '../../app.js';


var utils=require('../../utils/util.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone:'',
    times:"",
    morningTime:"",//上班时间
    nightTime:"",  //下班时间
    showCard:"",
    offWorking:"下班打卡",
    onWorking:"上班打卡",
    latitude:'',
    longitude:'',
    records:{},//存放打卡res.data的数据
    personInfos:{},//存放个人信息的数据
    showButton:["上班打卡","下班打卡",""]//根据返回的按钮信息进行展示
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    var phoneValue = wx.getStorageSync('phone');

    this.setData({
      phone: phoneValue
    })

    this.getEmployeeInfo();


    var page=this
    let systime;
    setInterval(function(){
      systime = utils.formateDate(new Date());
      page.setData({
        times: systime
      })
    }, 1000)

    //-------------------------刚进入页面的时候请求接口----------------------
    page.requestPlayCard({type: 0});
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
   
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  },
  //----------------------------点击的方法--------------------------------------
  showButton:function(){
    var page=this;
    if (page.data.records.button==0){
      page.onWorkingclick()
    } else if (page.data.records.button == 1){
      page.offWorkingclick()
    }
  },
  //上班打卡
  onWorkingclick:function(){
    let page = this;
    if (!this.data.phone) {
      this.setData({
        hiddenmodalput: false
      })
    }
    page.getLocation("1");
    //点击的时候调用获取地理位置的方法
  },
  //下班打卡
  offWorkingclick:function(){
    let page = this;
    if (!this.data.phone) {
      this.setData({
        hiddenmodalput: false
      })
    }
    page.getLocation("2");
  },

  //---------------------------点击方法结束-------------------------------------
  //获取地理位置经度纬度
  getLocation:function(a){
    var page=this;
    wx.getLocation({
      type: 'gcj02', //返回可以用于wx.openLocation的经纬度
      success: function (res) {
        page.requestPlayCard({ lat: res.latitude, lng: res.longitude, type: a });
        //异步操作，在获取经纬度之后调用请求的方法
      }
    })
  },

  //-----------------------请求接口方法,电话号码应该动态获取-----------------------
  requestPlayCard:function(params){
    let page = this; 
    let systime = utils.formateDate(new Date());
    wx.request({
      method: "post",
      url: `${BaseURL}/safe/attendance/punchCard`, // 仅为示例，并非真实的接口地址
      data: {
        lat: params.lat,
        lng: params.lng,
        type:params.type,
        phone: page.data.phone
      },
      header: {
        'content-type': 'application/json' // 默认值
      },
      success(res) {
       if(res.data.code===0){
         console.log("data", res.data.data);
         page.setData({
           records:res.data.data
         },function(){
          //早退的情况
           if(page.data.records.button==4){
             wx.showModal({
               title: '提示',
               content: "是否提前打卡",
               success(res) {
                 if (res.confirm) {
                   page.getLocation("3");
                 } else if (res.cancel) {
                   console.log('用户点击取消')
                 }
               }
             })
           } else if (page.data.records.button == 5){
            //请求超时的情况
             wx.showModal({
               title: '提示',
               content: "请求超时",
               success(res) {
                 if (res.confirm) {
                   page.getLocation("0");
                 }
               }
             })
           }
         })
       } else {
         //如果状态码不是0的情况下 包括地理位置错误、用户名错误、非打卡时间
         wx.showModal({
           title: '提示',
           content: res.data.msg,
           success(res) {
             if (res.confirm) {
               wx.redirectTo({
                 url: '../index/index',
               })
             } else if (res.cancel) {
               console.log('用户点击取消')
             }
           }
         })
       }
      }
    })
  },
  //如果返回数据成功的话，对话框弹出来
  modalEarlygo:function(){
    var page=this;
    wx.showModal({
    title: '提示',
    content: "是否提前打卡",
    success(res) {
      if (res.confirm) {
        page.getLocation("2");
      } else if (res.cancel) {
        console.log('用户点击取消')
      }
    }
  })
  },
  getEmployeeInfo() {
    var page = this;
    wx.request({
      method: 'POST',
      url: `${BaseURL}/safe/attendance/getEmployeeInfo`,
      data: {
        phone: this.data.phone
      },
      header: {
        'content-type': 'application/json'
      },
      success(res) {
        var aa = res.data;
        if (res.data.code == 0) {
          page.setData({
            personInfos:res.data.data
          })
        } else {
          wx.showToast({
            title: res.msg,
          })
        }
      },
      fail: function () {
        wx.showModal({
          title: '提示',
          content: '网络失败',
          showCancel: false,
          success: function (res) {

            wx.redirectTo({
              url: '../index/index'
            })

          }
        })
      } 
    })
  }
  // ,
  // modalinputWin: function (e) {
  //   this.setData({
  //     hiddenmodalput: !this.data.hiddenmodalput
  //   })
  // },
  // //事件处理函数
  // //点击按钮弹出指定的hiddenmodalput弹出框  
  // modalinput: function (e) {
  //   if (e.detail.value) {
  //     this.setData({
  //       phone: e.detail.value
  //     })
  //   }
  // },
  // //取消按钮  
  // cancel: function () {
  //   this.setData({
  //     hiddenmodalput: true
  //   });
  // },
  // //确认  
  // confirm: function () {
  //   this.setData({
  //     hiddenmodalput: true
  //   })

  //   console.log('-----door-control------' + this.data.phone);

  //   this.getEmployeeInfo();


  // }


})